8 research outputs found
Recommended from our members
A Survey of Parallel Programming Constructs
This paper surveys the types of parallelism found in Functional, Lisp and Object-Oriented languages. In particular, it concentrates on the addition of high level parallel constructs to these types of languages. The traditional area of the automatic extraction of parallelism by a compiler [39] is ignored here in favor of the addition of new constructs, because the long history of such automatic techniques has shown that they are not sufficient to allow the massive parallelism promised from modem computer architectures [26. 58]. The problem then, simply stated, is given that it is now possible for us to build massively parallel machines and given that our current compilers seem incapable of generating sufficient parallelism automatically, what should the language designer do? A reasonable answer seems to be to add constructs to languages that allow the expression of additional parallelism in a natural way. Indeed that is what the designers of the the Functional, Lisp, and Object-Oriented languages described below have attempted to do. The three particular programming formalisms were picked because most of the initial ideas seem to have been generated by the designers of the functional languages and most of the current activity seems to be in the Lisp and Objected-Oriented domains. There is also a great deal of activity in the Logic programming area, but this activity is more in the area of executing the existing constructs in parallel as opposed to adding constructs specifically designed to increase parallelism
Recommended from our members
The Do-loop Considered Harmful in Production System Programming
In this paper we focus on some aspects of Expert System programming. In particular we consider some of the language constructs which from part of a new production system language known as Herbal that we are developing at Columbia University. These language constructs greatly increase the expressiveness of a typical production system language and can be efficiently executed on a para11el machine. We briefly describe the DADO machine under development at Columbia University and J basic algorithm for production system execution for that machine. We conclude with a discussion of some performance Statistics recently calculated from m _analysis of production systems simulations and describe the expected effects of our added language constructs on these statistics
Recommended from our members
||PSL: A Parallel Lisp for the DADO Machine
We describe a system level programming language and integrated environment for programming development on the DADO parallel computer. In addition a set of language constructs augmenting LISP for programming parallel computation on tree structured parallel machine are defined. We discuss the architecture or the DADO machine and present several examples to illustrate the language. In particular we describe how the language provides an integrated approach to the problem or parallel software design. Parallel algorithms may be designed analyzed on a sequential machine under simulation and then simply recompiled to run on a parallel machine. In concluding sections we outline the implementation using the Portable Standard LISP Compiler
Recommended from our members
A LISP Compiler for the DADO Parallel Computer
This describes a LISP implementation for the Intel MCS-51 family of microprocessors, the processor used by the DADO parallel computer. This LISP IS the implementation language for the high-level parallel LISP (PPSL). It is based upon the Portable Standard Lisp (PSL) of the University of Utah. By writing PPSL in PSL we have achieved a significant degree of portability